home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ABUSESRC.ZIP / AbuseSrc / abuse / src / seq.c < prev    next >
C/C++ Source or Header  |  1996-04-11  |  2KB  |  111 lines

  1. #include "seq.hpp"
  2. #include "macs.hpp"
  3. #include "parse.hpp"
  4. #include "lisp.hpp"
  5.  
  6. int sequence::size()
  7. {
  8.   int t=0;
  9.   for (int i=0;i<total;i++)
  10.   {
  11.     if (cash.loaded(seq[i]))
  12.       t+=cash.fig(seq[i])->size();   
  13.   }
  14.   return t;
  15. }
  16.  
  17. int sequence::cache_in()
  18. {
  19.   int i;
  20.   for (i=0;i<total;i++)
  21.   {
  22.     cash.note_need(seq[i]);
  23.   }
  24.   return 1;
  25. }
  26.  
  27. sequence::sequence(char *filename, void *pict_list, void *advance_list)
  28. {
  29.   if (item_type(pict_list)==L_STRING)
  30.     total=1;
  31.   else
  32.     total=list_length(pict_list);
  33.  
  34.   seq=(int *) jmalloc(sizeof(int)*total,"sequence ptr array");
  35.   if (item_type(pict_list)==L_STRING)
  36.     seq[0]=cash.reg_object(filename,pict_list,SPEC_CHARACTER2,1);
  37.   else
  38.   {
  39.     int i;
  40.     for (i=0;i<total;i++) 
  41.     {
  42.       seq[i]=cash.reg_object(filename,lcar(pict_list),SPEC_CHARACTER2,1);
  43.       pict_list=lcdr(pict_list);
  44.     }
  45.   }
  46. }
  47.  
  48. sequence::~sequence()
  49.   jfree(seq); 
  50. }
  51.  
  52. /*sequence::sequence(char *filename, char *picts)
  53. {
  54.   char t[100],*s=picts,imname[100];  
  55.   int i,j;
  56.   total=0;  
  57.  
  58.   // first count the images
  59.   while (token_type(s)!=sRIGHT_PAREN)
  60.   {
  61.     if (token_type(s)==sLEFT_PAREN)
  62.     {
  63.       get_token(s,t);    // left paren
  64.       get_token(s,t);    // seq
  65.       get_token(s,t);    // name
  66.       i=get_number(s);      
  67.       total+=get_number(s)-i+1;      
  68.       get_token(s,t);    // right paren
  69.     }  
  70.     else 
  71.     { get_token(s,t);
  72.       total++;    
  73.     }    
  74.   }
  75.   
  76.  
  77.   s=picts;  
  78.   seq=(int *) jmalloc(sizeof(int)*total,"sequence ptr array");
  79.   
  80.   for (i=0;i<total;)
  81.   {
  82.     if (get_token(s,t)==sLEFT_PAREN)
  83.     {
  84.       get_token(s,t);      // left paren
  85.       if (strcmp(t,"seq"))
  86.       {
  87.     printf("Expected seq at %s\n",s);
  88.     exit(0);    
  89.       }
  90.       get_token(s,t);
  91.       int start,end;
  92.       start=get_number(s);
  93.       end=get_number(s);
  94.       for (j=start;j<=end;j++)
  95.       {
  96.     sprintf(imname,"%s%04d.pcx",t,j);
  97.     seq[i++]=cash.reg(filename,imname,SPEC_CHARACTER,1);
  98.       }           
  99.       get_token(s,t);      // right paren
  100.     }
  101.     else
  102.       seq[i++]=cash.reg(filename,t,SPEC_CHARACTER,1);
  103.   }
  104. }*/
  105.  
  106.  
  107.  
  108.  
  109.  
  110.